perm filename DATA.DIS[1,RWF]9 blob sn#558180 filedate 1981-01-22 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00019 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	ON THE USE OF THE DATADISC TERMINAL 
C00004 00003	STARTING UP
C00009 00004	USING THE SAIL COMPUTER
C00019 00005	FILE HANDLING
C00024 00006	EDITING A FILE
C00028 00007	SENDING MAIL
C00031 00008	PRINTING, COPYING, AND DELETING FILES
C00035 00009	APPENDIX A.   LIST OF USEFUL EDITING OPERATIONS
C00041 00010	CURSOR OPERATIONS
C00044 00011	CHARACTER OPERATIONS
C00046 00012	LINE OPERATIONS
C00048 00013
C00052 00014	TEXT-MOVING OPERATIONS
C00054 00015	MARKING OPERATIONS
C00055 00016	SWITCHING BETWEEN FILES
C00056 00017	TEXT JUSTIFICATION
C00057 00018	APPENDIX B.  WHAT TO DO IN CASE OF TROUBLE
C00060 00019	APPENDIX C.   SOME USEFUL FILES
C00062 ENDMK
C⊗;
ON THE USE OF THE DATADISC TERMINAL 

This  is  file DATA.DIS[1,RWF]  on the Stanford SAIL computer system, last written
April 9, 1980.  Bob Floyd  (aka  RWF)  wrote it,  maintains it,  and welcomes
suggestions.

STARTING UP
 
The DataDisc terminal consists of a keyboard and a TV-like screen.  Turn the
ON-OFF switch on  and wait for the screen  to warm up.  Adjust  the contrast
knob until letters appear on the screen.  Then adjust the brightness knob so
that  the bright background  just disappears.  The contrast knob can then be
adjusted for visual comfort.  You will notice a horizontal line, the CURSOR,
which locates the place on the screen where insertions and changes can be made,
and an ARROW on the left, which locates the line containing the cursor.

THE KEYBOARD
 
The keyboard contains two types of keys.  Most keys send their character to
the computer.  Others,  while held down,  change the meaning  of the character
keys.  The following keys  modify the meaning of the characters typed while they
are held down.  
(1)  SHIFT,SHIFT LOCK.  These keys, like the corresponding typewriter keys, give
     you upper case letters.  They affect only letters.
(2)  TOP.  Hold this key down to type the top character on keys which show two
     characters.
(3)  CONTROL and META.   These keys, which may be held down while a character
     is typed, modify the meaning of that character in various ways, some of
     which will be described in detail later.  To say briefly, "Hold down 
     CONTROL while typing  D ", this document uses CONTROL<D>.

Some keys are marked with a word or a syllable, such as RETURN.  Be sure to
use the RETURN key when called for, and not to type the six letters
separately. In the remainder of this document, they are sometimes enclosed
in brackets [] for clarity.

Typing CONTROL[BREAK] will stop the terminal display if it is moving too
fast for you to read.  To resume display, type CONTROL[CLEAR].  The [CALL]
key may be used to interrupt anything that is going on that you want
stopped, such as the display of a long text.

CORRECTING INPUT.  When typing at the terminal, you may make corrections
at any time until hitting the [RETURN] key.  Corrections are made where
the cursor is.  To move the cursor right or left, type CONTROL[SPACE] or
CONTROL[BS] respectively.  To change the character at the cursor, type the
new character.  To delete the character at the cursor, type CONTROL<D> .
To insert characters at the cursor, type CONTROL<I> followed by the
desired characters, using CONTROL[SPACE] to stop inserting.  When the line
is correct, type [RETURN].
USING THE SAIL COMPUTER

If you do not already have them, get a project name, progammer initials,
and password from Denny Brown.  After your account has been
activated, you may use the SAIL computer.  Turn on the power as described
above.  Press the [CALL] key.  The system monitor will begin a new line
with a period, which shows that it awaits your command.  (If it fails to
do this, the computer is probably not in service.)  You must first
identify yourself to the system by "logging in".  If XXX is your
programmer initials,type L XXX [RETURN].  If you also need to specify a
project name YYY, type L YYY/XXX [RETURN] instead.  When the system prints
PASSWORD= , type your password and [RETURN].  It will not appear on your
terminal.  The system will now print a set of messages to all users of the
SAIL system, not all intelligible.  If you log in using a comma before your
initials, all current messages, including those you have seen before, will
be printed.  For more information on logging in, type HELP LOGIN followed
by [RETURN].

DISCONNECTING FROM THE SAIL COMPUTER

When you get through using the computer, follow this disconnecting procedure.  
When the monitor prints the period (.), type K [RETURN] to tell the system 
that you want to quit.  (To get back to the monitor if you are editing, type 
CONTROL <E> .) The K stands for KILL JOB . The system will then print 
accounting information and KJOB.
FILE HANDLING

FILE DIRECTORY INFORMATION

To see the names of all your files,  type DIR [RETURN] . To see the  names
of another user's files, type  DIR[YYY,XXX] [RETURN] where YYY,XXX is  the
project name and programmer initials of that other user.

FILE NAMES

Your own file names are of the form NNNNNN.EEE, where NNNNNN is a name  of
up to six letters, and EEE is a code for the kind of file.  You might  let
EEE be TXT for English  text, DAT for numerical  data, etc.  The name  for
someone else's file is NNNNNN.EEE[YYY.XXX],  where YYY.XXX is his  project
name(probably 1) and programmer initials.

COPYING A FILE

The command COPY newfile  ← oldfile [RETURN] creates a file named newfile,
which is a copy of the file named oldfile .

READING A FILE

Type ER filename [RETURN]  , where filename  is the name  of the file  you
want to read (see above for file  names).  Files are broken up into  parts
called pages.  To see  the next screenful of  information in a page,  type
[FORM].  To back up within a page,  type CONTROL[VT] . To get to the  next
page, type CONTROL<P> . To go forward  n pages, type CONTROL<+nP> , To  go
backward n pages, type CONTROL<-nP> . To go to page n , type CONTROL<nP> .
When you are done reading, type CONTROL<E> to return to the monitor.   You
can use these operations, and those in DELETING FROM A FILE, to read  your
mail, which is on  a file named \M  . If you may want to change a  file
while reading it, use ET rather than ER.

CREATING A NEW FILE

Type CET filename [RETURN] .  Then type the lines of  text you want to  go
into the file.  To start a new  file page (for example, just before a  new
subject heading),  type  CONTROL<X>  MARK  [RETURN] .  When  the  file  is
complete, type CONTROL<E> .

EDITING A FILE

While reading or creating a file (see above), you may make changes to
it by addition, deletion, or replacement.  The following sections tell
how.  By the current line, page, or file, we mean the one the cursor is in.

In addition to the operations listed under READING A FILE, you will need to
know these:
	To move the cursor down or up  n  lines, type
		CONTROL<n> [RETURN]
			  or 
		CONTROL<n BS>  respectively.
	If  n  is  1, just type  [RETURN] or CONTROL[BS] respectively.
	To see more of the text at the top or bottom of the page, type
		CONTROL<T>  or CONTROL<B>  respectively.
	To move the cursor to line number  n  of the current page, type
		CONTROL<nL> .
Other operations are in APPENDIX A.
 
ADDING TO A FILE

To add material at the end of any page of a file, read that file with  the
cursor at the  line of asterisks  which ends  that page.  If  you are  not
already reading the file, first type ET filename/nE [RETURN]  , where n is  the
page number.  Then type in the new lines to be added to the file.

To insert new  lines in  a file,  read that file  with the  cursor at  the
desired place of insertion.  Type CONTROL+META[RETURN], the new lines, and
CONTROL<RETURN>.

To insert new material in a line of a file, read the file with the  cursor
at that line.  Then use the methods described in CORRECTING INPUT, above.

DELETING FROM A FILE

To delete one or more lines from a file, read the file with the cursor  at
the first  line to  be deleted.   Type CONTROL+META<nD>,  where n  is  the
number of lines to  be deleted.  You may  omit n if only  1 line is to  be
deleted.  To delete an entire paragraph, type CONTROL+META<!D>.

To delete a page of a file, read the file with the cursor at the start  of
that page and type CONTROL+META<∞D> .

REPLACEMENT IN A FILE

Read the file with the cursor at the location of the desired replacement, then
type the new characters over the old ones.
SENDING MAIL

To send a message to another person, create a file page which contains the
message (not forgetting a [RETURN] on the last line), then, while reading that
page, type  CONTROL<X> MAIL xxx  where  xxx  is the programmer initials of the
person to whom you are sending a message.  Use a list of such initials,
separated by commas, for multiple addressees.  See file MAIL.BH[UP.DOC].

To reply to mail from programmer xxx ,add your reply to the page you are
reading, or to a new page, then send the page as above.

To retain copies of all mail you send, create a file called  OUTGO.MSG  and
copies will automatically be put there.  You may edit  OUTGO.MSG , for example
to remove old messages.

To send a one-line message to  xxx , type  
	SEND xxx message [RETURN]
or (while editing) type
	CONTROL<0X> SEND xxx message [RETURN]

To find out John Doe's programmer initials and current whereabouts type
	FINGER JOHN DOE [RETURN].

For information from the SAIL phone directory, type  FIND string [RETURN]  to
print all the entries in the directory which contain  string , which might
be a name, phone number, etc. For information from the Computer Science
Department directory, type
	FIND string IN PEOPLE.DAT[PER,CSD] [RETURN].
In fact, FIND can be used to look for  string  in any file.

If programmer  xxx  is at another computer center (say SUMEX), type 
xxx%SUMEX  in mail commands.
PRINTING, COPYING, AND DELETING FILES

To make a hard (paper) copy of a file on the XGP printer, (Room 433, Jacks Hall)
type
	XSP filename [RETURN]
A header page will give your name and other identifying information.
For double spacing, type /EXTRA=2 after the file name.

TO COPY AND JOIN PARTS OF FILES.  (See above, COPYING A FILE, first.)
 
Examples:
COPY f1←f2 [RETURN]
	creates a new file  f1 , which is a copy of file  f2 .
COPY f1←f2(3:5) [RETURN]
	f1  is a copy of pages 3 through 5 of  f2 .
COPY f1←f2(2:4,16,11:14) [RETURN]
	f1  is a copy of pages 2-4, 16, and 11-14 of  f2 .
COPY f1←f2,f3,f4
	f1  is a copy of files  f2 , f3 , and  f4 , joined together.
COPY f1←f2(3:5),f3,f4(6)
	f1  is a copy of pages 3-5 of  f2 , then  f3 , then page 6 of  f4 .

TO PRINT PARTS OF FILES

The file name in a printing command,  (XSP, TYP, etc.)  may be followed by
a parenthesized list of page numbers, and only those pages will be printed.
See the examples of copying parts of files.

TO DELETE A FILE.

(Be careful with this one; be sure you have the right file name, and that 
you no longer need the file.)  Type
	DELETE filename [RETURN]


APPENDIX A.   LIST OF USEFUL EDITING OPERATIONS

Files are broken into pages by page  marks, which appear on the screen  as
lines of asterisks.   Pages may be  broken into messages,  by lines  which
begin with a  ∂.  Pages,  or messages, may  be broken  into paragraphs  by
blank lines.  In the  editing operations below,  we use n  to stand for  a
number.  In some commands, the number may be omitted if it is 1 ; if so we
use n1 to stand  for the number.  In  some commands, one may  use ! or  -!
instead of a number to mean the number of lines to the end (or  beginning)
of the current paragraph, or CONTROL<∂> or CONTROL<-∂> to mean the  number
of  lines  to  the  end  or  beginning  of  the  current  message.  Usually,
CONTROL<∞> can be  used as the  number to  do something as  many times  as
possible.

The  CET  and  ET  commands may be modified by putting one or more of the
following modifiers, called switches, immediately after the file name to
which they apply.

/E	Open the file with the cursor at the end of the file.
	(Use this to add text at the end of the file.)
/nE	Open the file with the cursor at the end of page  n , where  n  is
	any number.  (Use this to add text at the end of a page.)
/F	Break the file into pages small enough to be shown on the screen.
/nF	Break the file into pages of at most  n  lines.
/nP	Open the file displaying page  n .  (Use this and  /nL  to get to
	a particular place in the file.)
/nL	Open the file with cursor at line  n .

CURSOR OPERATIONS

Moving cursor among pages.
CONTROL<P>	cursor to next page
CONTROL<-P>	cursor to previous page
CONTROL<+n1 P>	cursor forward  n1  pages
CONTROL<-n1 P>	cursor back  n1  pages
CONTROL<nP>	cursor to page  n 

Moving cursor within a page.
[FORM]			    cursor forward to next screenful
[VT]			    cursor back to previous screenful
CONTROL<n1> [RETURN]        cursor forward  n1  lines
CONTROL<n1> [BS]	    cursor back  n1  lines
CONTROL(>) 		    cursor forward  4  lines
CONTROL(<)  		    cursor back  4  lines
CONTROL<≥>		    cursor forward 16 lines
CONTROL<≤>		    cursor back 16 lines
CONTROL<n1 L>		    cursor to line  n1 
CONTROL<∞L>		    cursor to last line
CONTROL<n1∧>		    cursor to line n1 from top of window
CONTROL<n1∨>		    cursor to line n1 from bottom of window
CONTROL<X> LINCNT [RETURN]  terminal tells you how many characters are in
			    current line and page
CONTROL(0∂)		    go to start of current message
CONTROL(∂)RETURN	    go to start of next message
CONTROL(0!)		    go to start of paragraph
CONTROL(!)RETURN	    go to start of next paragraph



Moving cursor within a line.
CONTROL<n1 SPACE>  	cursor right  n1  places
CONTROL<n1 BS>  	cursor left  n1  spaces
CONTROL<TAB>  		cursor to right end
CONTROL<RETURN>		cursor to left end

CHARACTER OPERATIONS

Changing characters at the cursor:  Type the new characters you want over the
old ones.

Inserting new characters at the cursor:
For a few characters, hold down META while typing the characters.
For a longer insertion,
(1)  Type  CONTROL<I> .
(2)  Type the characters you want to insert between the existing characters
     at the cursor.  No other editing operations will work, until you
(3)  Type  CONTROL[SPACE] or other cursor-moving operation.

Deleting characters at the cursor.
CONTROL<n1 D>	deletes  n1  characters starting at the cursor.
		At end of line, deletes carriage return, joining two lines.
CONTROL<K>c	deletes all characters from the cursor up to the next
		occurrence of character  c .  If  c  is [RETURN], deletes
		the rest of the line.

Cancelling changes in the current line:  [ALT] .

LINE OPERATIONS

Inserting new lines in the file.
(1)  Type  CONTROL+META[RETURN] .
(2)  Use cursor-moving operations to get to the places where you want to
     insert lines.  At each cursor location, you can type new lines which
     will be inserted between the old ones.  No other editing operations
     will work, until you
(3)  Type  CONTROL[RETURN] .

Deleting lines at the cursor.
CONTROL<n1> CONTROL+META<D> deletes  n1 lines forward.   (If an  entire
			    page is deleted, pages are renumbered.)  At
			    end of page, deletes page mark to combine pages.
CONTROL<-n>CONTROL+META<D>  deletes n lines backward
CONTROL<!>CONTROL+META<D>   deletes current paragraph
CONTROL+META<!D>	    deletes to bottom of current paragraph
CONTROL+META<-!D>	    deletes to top of current paragraph
CONTROL<X> CANCEL [RETURN]  cancels an erroneous deletion

Looking at different lines of the file without moving the cursor.
CONTROL<J>	look below cursor
CONTROL<0J>	look around cursor (number zero)
CONTROL<-J>	look above cursor
CONTROL<T>	see more at top
CONTROL<B>	see more at bottom



MATCHING OPERATIONS

SEARCHING

To search the current page starting at the current position of the cursor,
For a word w: CONTROL+META<F>w[RETURN]  To repeat this operation:
CONTROL+META(*).
 
SUBSTITUTION
 
To change the next occurrence of word w to x, starting at the current position
of the cursor:  CONTROL+META<F>wCONTROL+META(\)x[RETURN]  After doing it
once (to check that it works correctly), it can be repeated as many times
as possible by typing CONTROL+META(∞\).  The above operations apply to a
complete word w.  If you want to find or change w even when it is part of a
larger word, leave off the first META.  To go beyond the current page, use
CONTROL+META<x>F[SPACE]w[RETURN] to search and CONTROL+META<x>F[SPACE]w
CONTROL+META<\>x[RETURN] to substitute.

Finding occurrences of string  s  in a page, starting from the current line 
and going down.
(1)  If you want to find  s  only where it appears surrounded by blanks or
     punctuation (like FIND in this sentence), hold down [ META]  with the next
     [CONTROL]; otherwise  the editor will find  s  even if it appears as part
     of a larger word (like ROUND in this sentence).
(2)  To search the current page, type  CONTROL<F> ; otherwise, to search the
     whole file, type  CONTROL<X> F  and one blank space.
(3)  Type the string  s  you want to search for.  (Any further spaces you
     type will be taken as part of  s .)
(4)  Type  [RETURN]  to initiate the search.  (To search the directory
     instead of the body of the file, type  CONTROL<P> instead .)
(5)  To repeat this search as many times as desired, type  CONTROL+META<*> .

To find occurrences of string  s1  and replace each one with  s2 , use the
command for finding string  s1  (see above), but after  s1 , type  CONTROL+META<\>  .
s2.  To repeat such a substitution  n1  times, after having done it once, type
	CONTROL+META<n1\> .
To repeat it as many times as it can be, use
	CONTROL+META<∞\>
To make changes to the string that has been found or substituted by the above
commands, you may want the cursor to be left under the string ready to edit 
the line.  To do this, on a first search, type  CONTROL<RETURN> .  To repeat a
search, type  CONTROL<*> .  To repeat a substitution, type  CONTROL<n1\> .

TEXT-MOVING OPERATIONS

Moving a part of a file page to a new place.
(1)  (A)  To move the text without leaving a copy behind, type  CONTROL<n1 A>
	  to pick up the next  n1  lines with the cursor.  Otherwise,
     (B)  To move a copy of the text, leaving the original behind, type
	  CONTROL<n1 C>  to pick up a copy of the next  n1  lines with the
	  cursor.
(2)  Use the cursor-moving operations (or matching operations) to take the
     cursor where you want the text to go.
(3)  (A)  To drop the text into the current cursor location in the file,
	  type  CONTROL<E>  (which has this meaning only if there are lines
	  attached to the cursor).  To make more copies, return to step (2).
	  Otherwise:
     (B)  To discard the attached lines, type  CONTROL+META<K> .

Writing a modified page back to disk:  CONTROL< . > .


MARKING OPERATIONS

Marking ends of pages.
CONTROL<X> MARK [RETURN]	makes a page start at the cursor line
CONTROL<X> DELETE [RETURN]   removes page mark at end of current page

To put "bookmarks" on lines for later reference.
CONTROL+META<M>		marks current line
CONTROL+META<-M>	erases mark from current line
CONTROL<n M>		moves cursor forward to n-th mark
CONTROL<-M>		moves cursor back one mark
SWITCHING BETWEEN FILES

CONTROL<ε> filename [RETURN]
	switches to reading and editing  filename .
CONTROL<λ> filename [RETURN]
	switches to (only) reading  filename .
CONTROL<?>
	switches to reading instructions for the editor.
CONTROL<H>
	switches back to previous file.
CONTROL<nε>
	switches to reading and editing the n-th file used since login,
	at line where you left it.
CONTROL<nλ>
	switches to (only) reading the n-th file used since login, at
	line where you left it.
CONTROL<∃>
	lists file names and numbers for use in the above two commands.

TEXT JUSTIFICATION

To justify the next  n  lines, with left margin at column  L , right margin 
at column  R , and first lines of paragraphs indented to column  P :
	CONTROL<nX>JUST P, L, R [RETURN] .
If P, L ,R  are omitted, the values 1,1,74 are assumed.  If  n  is omitted, the 
entire current page is justified.  To justify n paragraphs, type
        CONTROL<n!X>JUST P, L, R [RETURN] .

To center the next  n1 lines:
	CONTROL<n1X>CENTER [RETURN] .
Related operations to left-justify lines or move them left or right, are ALIGN
and INDENT (see the "E" Manual).
APPENDIX B.  WHAT TO DO IN CASE OF TROUBLE
 
When the terminal is typing things faster than you can read them:  type CONTROL
[BREAK].  The terminal will stop, displaying the word HOLDING.  Type 
CONTROL[CLEAR] to restart the printing.

When you have made mistakes in controlling the editor, and it doesn't seem to
understand you:  type  CONTROL[RETURN] .  If that doesn't work, use  CONTROL<E> .

When you want to stop whatever the terminal is doing (for example, printing a
long file at you that you don't want to see):  press the [CALL] key.

When you want information about how to use a feature of the system: 
type HELP [RETURN]  for a list of such features.  Type HELP f [RETURN]  for
information about feature  f .  The available HELP features include:
	MAIL (alternate mailing technique)
	LOGIN
	LOGOUT (alias KJOB)
	DIR (directory of files)
	FIND (to find a word in a file)
	FINGER (to identify someone by name or by user ID)
	E (Documentation on the editor)
	ETEACH (Instruction on how to use the editor)
	TALK (with other current terminal users)
	YUMYUM (restaurant guide)
	UNDEL (to rescue a file you deleted)

When you want to clear garbage from the screen:  try [ESCAPE]P .  If you are
in the editor, an additional  CONTROL<V>  may be needed.  If all else fails,
get help or turn terminal off and on.

If you inadvertently destroy a file, by deletion or editing, you may be able to
recover it from archives periodically stored on magnetic tape.  Use the command
	PUMPKIN files
to copy into your directory the most recent backup copies of the named files.
(For more flexibility, see Monitor Command Manual).  The command works overnight.



APPENDIX C.   SOME USEFUL FILES
 
PEOPLE.DAT[PER,CSD]  CSD personnel directory
\M	Your mail file
\B	SAIL Bulletin Board
\NE	News Summary
\C	CSD Bulletin Board
See page 2 for general information about CS department files.
\DA	Messages of the day
\DI	News Digest
\F	Forwarding addresses for computer mail to departed people
\G	Gripes about computing equipment
\NO	Current login notices
E.ALS[UP,DOC]  is a reference manual for the editor.  To read it while
	editing, type  CONTROL<?> .  To return to editing, type  CONTROL<H> .
MONCOM.BH[S,DOC) describes the monitor and its commands.
 
The directories [UP,DOC] and [S,DOC] contain many files of documentaion
on available programs.